Micron Document
🎖️GitЯра🎖️

Node / meshtastic / Meshtastic-Android / files / core / model / src / commonMain / kotlin / org / meshtastic / core / model / NetworkFirmwareRelease.kt

Displaying Raw • Download

core/model/src/commonMain/kotlin/org/meshtastic/core/model/NetworkFirmwareRelease.kt 01cd54907d62cd90913d3d071b6bc240cae365ef (01cd5490) Text, 3.21 KB

T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.core.model

Tff7b72import T7ee787kotlinx.serialization.SerialName
Tff7b72import T7ee787kotlinx.serialization.Serializable

Tf0883e@Serializable
Tff7b72data Tff7b72class T56d364NetworkFirmwareReleaseTb4b4b4(
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3idTb4b4b4: Tffa657String Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffpage_urlTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3pageUrlTb4b4b4: Tffa657String Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffrelease_notesTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3releaseNotesTb4b4b4: Tffa657String Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3titleTb4b4b4: Tffa657String Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffzip_urlTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3zipUrlTb4b4b4: Tffa657String Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tb4b4b4)

Tf0883e@Serializable
Tff7b72data Tff7b72class T56d364ReleasesTb4b4b4(
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffalphaTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3alphaTb4b4b4: Te6edf3ListTff7b72<Te6edf3NetworkFirmwareReleaseTff7b72> Tff7b72= Te6edf3listOfTb4b4b4(Tb4b4b4)Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffstableTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3stableTb4b4b4: Te6edf3ListTff7b72<Te6edf3NetworkFirmwareReleaseTff7b72> Tff7b72= Te6edf3listOfTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4)

T8b949e/**
* The API also returns a `pullRequests` array of open firmware PRs. It is deliberately not modelled: nothing in the app
* offers PR builds, and the list turns over several times a day, so carrying it only churned the bundled asset. The
* shared [kotlinx.serialization.json.Json] is configured with `ignoreUnknownKeys`, so responses still decode.
*/
Tf0883e@Serializable Tff7b72data Tff7b72class T56d364NetworkFirmwareReleasesTb4b4b4(Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffreleasesTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3releasesTb4b4b4: Te6edf3Releases Tff7b72= Te6edf3ReleasesTb4b4b4(Tb4b4b4)Tb4b4b4)

T8b949e/**
* The nightly-preview pointer published to `firmware-nightly/index.json` on meshtastic.github.io. Unlike the release
* channels above it is not served by api.meshtastic.org, and only [version] is guaranteed present — [id] and [title]
* are derived when absent, matching the web flasher's parsing.
*/
Tf0883e@Serializable
Tff7b72data Tff7b72class T56d364NetworkFirmwareNightlyTb4b4b4(
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffversionTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3versionTb4b4b4: Tffa657String Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3idTb4b4b4: Tffa657String? Tff7b72= Tff7b72nullTb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6fftitleTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3titleTb4b4b4: Tffa657String? Tff7b72= Tff7b72nullTb4b4b4,
Tf0883e@SerialNameTb4b4b4(Ta5d6ff"Ta5d6ffcommitTa5d6ff"Tb4b4b4) Tff7b72val Te6edf3commitTb4b4b4: Tffa657String? Tff7b72= Tff7b72nullTb4b4b4,
Tb4b4b4)

T8b949e/**
* Normalizes the nightly pointer into the common release shape, or null when the pointer carries no usable version.
* Nightly artifacts are served per-file from the fixed `firmware-nightly/` folder, so there is no release zip.
*/
Tff7b72fun Te6edf3NetworkFirmwareNightlyTb4b4b4.Td2a8ffasFirmwareReleaseTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3NetworkFirmwareRelease? Tb4b4b4{
Tff7b72val Te6edf3resolvedId Tff7b72= Te6edf3idTff7b72?.Te6edf3takeIf Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3isNotBlankTb4b4b4(Tb4b4b4) Tb4b4b4} Tff7b72?: Te6edf3versionTb4b4b4.Te6edf3takeIf Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3isNotBlankTb4b4b4(Tb4b4b4) Tb4b4b4}Tff7b72?.Te6edf3let Tb4b4b4{ Ta5d6ff"Ta5d6ffvTffd700$Te6edf3itTa5d6ff" Tb4b4b4}
Te6edf3resolvedId Tff7b72?: Tff7b72return Tff7b72null
Tff7b72val Te6edf3resolvedVersion Tff7b72= Te6edf3versionTb4b4b4.Te6edf3ifBlank Tb4b4b4{ Te6edf3resolvedIdTb4b4b4.Te6edf3removePrefixTb4b4b4(Ta5d6ff"Ta5d6ffvTa5d6ff"Tb4b4b4) Tb4b4b4}
Tff7b72return Te6edf3NetworkFirmwareReleaseTb4b4b4(
Te6edf3id Tff7b72= Te6edf3resolvedIdTb4b4b4,
Te6edf3pageUrl Tff7b72= Te6edf3commitTff7b72?.Te6edf3takeIf Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3isNotBlankTb4b4b4(Tb4b4b4) Tb4b4b4}Tff7b72?.Te6edf3let Tb4b4b4{ Ta5d6ff"Ta5d6ffhttps://github.com/meshtastic/firmware/commit/Tffd700$Te6edf3itTa5d6ff" Tb4b4b4} Tff7b72?: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3releaseNotes Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3title Tff7b72= Te6edf3titleTff7b72?.Te6edf3takeIf Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3isNotBlankTb4b4b4(Tb4b4b4) Tb4b4b4} Tff7b72?: Ta5d6ff"Ta5d6ffMeshtastic Firmware Tffd700$Te6edf3resolvedVersionTa5d6ff NightlyTa5d6ff"Tb4b4b4,
Te6edf3zipUrl Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tb4b4b4)
Tb4b4b4}

Served by rngit 1.5.0 - Generated in 0.05s